// 引入获取图像识别token 和 图像识别函数
import {returnWordToken} from '../../request/request.js'
import {word_discern} from '../../request/request.js'

// pages/animal_discern/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    tips_list:[
      '1.上传图片最好为银行卡正面',
      '2.支持识别出的文字进行一键复制',
      '3.支持对主流银行卡4个关键字段进行结构化识别'
    ],
    img_file_path: '',
    result_data: {},
    result_status: false
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    // 获取文字识别token 置于缓存中
    const word_token = returnWordToken()
  },

  // 子组件选择图片事件
  async handleImgChoice(e){
    // 新请求前重置结果集
    this.setData({result_data: {}, result_status: false})
    // 获取图片路径
    const {tempFilePaths} = e.detail
    this.setData({img_file_path: tempFilePaths})
    const word_token = wx.getStorageSync('word_token').word_token
    const req_url = 'https://aip.baidubce.com/rest/2.0/ocr/v1/bankcard?access_token=' + word_token 
    const result_data = await word_discern(tempFilePaths, req_url)

    //根据返回结果进行提示
    if(result_data.result.bank_card_type === 0){
      wx.showToast({
        title: '不能识别',
        icon:'none',
        mask: true,
        duration: 1500
      })
    }else{
      //构造结果集
      const result_set = {}
      const map_data = {1: '借记卡', 2: '信用卡', 3: '信用卡', 4: '预付费卡'}
      result_data.result['bank_card_type'] =  map_data[result_data.result['bank_card_type']]
      const values = Object.values(result_data.result)
      result_set['开户行'] = values[2]
      result_set['银行卡号'] = values[1]
      result_set['卡类型'] = values[3]
      result_set['有效期'] = values[0]
      this.setData({result_data: result_set, result_status: true})
    }
  },
  // 复制结果到剪贴板中
  handleCopy(){
    const that = this
    const data = that.data.result_data
    const keys = Object.keys(data)
    const values = Object.values(data)
    let copy_data =  ''
    for(let i in keys){
      copy_data += keys[i] + '：' + values[i] + '\n'
    }
    console.log(copy_data);
    wx.setClipboardData({
      data: copy_data,
      success: (res) =>{
        wx.showToast({
          title: '复制成功',
          mask: true,
          icon: 'success'
        })
      }
      
    })
  },
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    // 重新分享方法
    wx.showShareMenu({
      withShareTicket: true,
      menus: ['shareAppMessage', 'shareTimeline']
    })
    return {
      title: "银行卡识别",
      path: "/pages/bankcard/index"
    }
  },
  /**
   * 用户点击分享朋友圈
   */
  onShareTimeline(){}

})
